Page({
	data: {
		//用户全局信息
    userInfo: {},
    imageUrl: '',
		cart: {
			code: 0,
			msg: '',
		},
		form: {
			upload: '',
			input: '',
			textarea: ''
		},
		formData: {
			uploadListDatas: [],
			uploadDatas: [],
			inputFocus: false
		}
  },
  // 绑定输入事件以更新 textarea 的值
  updateTextarea(event) {
    const textareaValue = event.detail.value;
    this.setData({
      'form.textarea': textareaValue
    });
    console.log(textareaValue);
  
  },
	computed() {},
	onLoad(option) {
		this.init();
	},
	onShow() {},
	async init() {
		await this.initResetform();
		// await this.cartApi();
  },
     
  chooseImage() {
    wx.chooseImage({
      count: 1, // 可选择的图片数量
      sizeType: ['compressed'], // 压缩图片
      sourceType: ['album', 'camera'], // 来源：相册或相机
      success:  (res)=> {
        // 将选择的图片上传到服务器
        console.log(res.tempFilePaths[0])
        const imagePath = res.tempFilePaths[0]
        console.log(imagePath)
        wx.uploadFile({
          url: 'https://image.huangly.top/upload', // 上传图片的接口地址
          filePath: imagePath, // 图片文件路径
          name: 'file', // 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
          success: (res) => {
            // 上传成功后，将服务器返回的图片地址更新到image标签中
            this.setData({
              imageUrl: res.data
            });
            const myForm = this.data.form
            myForm.upload = this.data.imageUrl
            this.setData({
              form:myForm
            })
            const myFormData = this.data.formData
            myFormData.uploadDatas.push(this.data.imageUrl)
            this.setData({
              formData: myFormData
            })
            console.log(this.data.formData)
          },
          fail: function (res) {
            console.log(res);
          }
        })
      }
    })
  },
  uploadImage(imagePath) {
    console.log("KKK");
    wx.uploadFile({
      url: 'http://image.huangly.top/upload', // 上传图片的接口地址
      filePath: imagePath, // 图片文件路径
      name: 'file', // 文件对应的 key , 开发者在服务器端通过这个 key 可以获取到文件二进制内容
      success: (res) => {
        // 上传成功后，将服务器返回的图片地址更新到image标签中
        this.setData({
          imageUrl: res.data
        });
      },
      fail: function (res) {
        console.log(res);
      }
    })
  },

	delFormUpload(evt) {
		let { index } = evt.currentTarget.dataset;
		let uploadDatas = this.data.formData.uploadDatas;
		uploadDatas.splice(index, 1);
		let upload = uploadDatas.join(',');
		this.setData({ 'form.upload': upload, 'formData.uploadDatas': uploadDatas });
	},
	previewFormUpload(e) {
		wx.previewImage({
			current: e.currentTarget.dataset.url, // 当前显示图片的http链接
			urls: this.data.formData.uploadDatas // 需要预览的图片http链接列表
		});
	},
	initResetform() {
		this.setData({
			initform: JSON.stringify(this.data.form)
		});
	},
	resetForm() {
		this.setData({
			form: JSON.stringify(this.data.initform)
		});
  },


	async submitForm(e) {
		this.validateForm = this.Validate({
			// upload: {
			// 	required: {
			// 		message: '请上传文件哟'
			// 	}
			// },
			input: {
				required: {
					message: '请输入标题'
				}
      },
   
		});
		if (!this.validateForm.checkForm(e)) {
			let data = this.validateForm.errorList[0];
			this.showToast(data.msg, 'none');
			return false;
		} else {
      //保存数据
      // console.log(this.data.form);
      wx.showModal({
        // title: '提示',
        content: '确定要发布帖子吗？',
        success: (modalSuccess) => {
          if (modalSuccess.confirm){
            console.log("发布")
            const text=this.data.form.textarea;
            console.log(this.data.form)
             const title=this.data.form.input;
          const image=this.data.formData.uploadDatas[0];
           wx.cloud.callFunction({
            name: 'publish',
            data: {
              title: title,
              image: image,
              text:text
            },
            success: (res) => {
              if (res.result.code === 0) {
                // 删除成功，从页面数据中移除该地址
                
                wx.showToast({
                  title: '发布成功',
                });
                wx.navigateBack({
                  delta: 1
              });
    
                // this.getAddress();
              } else {
                // 删除失败，提示用户
                wx.showToast({
                  title: res.result.msg || '发布失败',
                  icon: 'none',
                });
              }
            },
            fail: (err) => {
              // 调用云函数失败，提示用户
              wx.showToast({
                title: '发布操作失败',
                icon: 'none',
              });
              console.error('调用云函数时发生错误:', err);
            }
          });

          }
          if (modalSuccess.cancel) {
            console.log("不发布");
          }
          
        }
      })

     try {
     
        
      
     } catch (error) {
      console.log("调用云函数出错"+error);
     }
		}
	}
});
